$$.form.TextField = $$.Class($$.form.Field, {
	labelWidth: 100
	,labelAlign: 'right'
	,width: 300
	,height: 22
	,constructor: function(config){
		$$.put(this, config);
		
		this.field = new $$.Element({
			tag: 'input'
			,type: 'text'
		});
		
		this.getBoxField().update(this.field);
		$$.form.TextField.__parent.constructor.call(this, config);
	}
	,_initField: function(){
		this.add(
			this.getBoxLabel()
			,this.getBoxField()
		);
		
		this.el.addClass('cf-form-field');
		this.el.setStyle({position: 'relative'});
		return this;
	}
	,getLabel: function(){
		return this.label;
	}
	,getBoxLabel: function(){
		if(this._boxLabel) return this._boxLabel;
		this._boxLabel = new $$.Box({
			width: this.labelWidth
			,autoEl: {
				cls: 'box-label'
				,html: this.label
				,style: {
					textAlign: this.labelAlign
				}
			}
		});
		return this._boxLabel;
	}
	,getField: function(){
		return this.field;
	}
	,getBoxField: function(){
		if(this._boxField) return this._boxField;
		this._boxField = new $$.Box({
			width: this.width - this.labelWidth
			,autoEl: {
				cls: 'box-field'
			}
		});
		
		return this._boxField;
	}
});